package testes;

import static org.junit.Assert.*;


import java.util.HashSet;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.quasar.copaPaises.businessLayer.*;

public class ClubeTest {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	@Before
	public void setUp() throws Exception {
		 CalendarDate.allInstances.clear();
		  Campeonato.allInstances.clear();
		  Cartao.allInstances.clear();
		  Cidade.allInstances.clear();
		  Clube.allInstances.clear();
		  Continente.allInstances.clear();
		  Equipa.allInstances.clear();
		  Estadio.allInstances.clear();
		  Golo.allInstances.clear();
		  Grupo.allInstances.clear();
		  Jogador.allInstances.clear();
		  Jogo.allInstances.clear();
		  Membro.allInstances.clear();
		  Pais.allInstances.clear();
		  Participacao.allInstances.clear();
		  Participante.allInstances().clear();
		  Treinador.allInstances.clear();
	}

	@After
	public void tearDown() throws Exception {
		 CalendarDate.allInstances.clear();
		  Campeonato.allInstances.clear();
		  Cartao.allInstances.clear();
		  Cidade.allInstances.clear();
		  Clube.allInstances.clear();
		  Continente.allInstances.clear();
		  Equipa.allInstances.clear();
		  Estadio.allInstances.clear();
		  Golo.allInstances.clear();
		  Grupo.allInstances.clear();
		  Jogador.allInstances.clear();
		  Jogo.allInstances.clear();
		  Membro.allInstances.clear();
		  Pais.allInstances.clear();
		  Participacao.allInstances.clear();
		  Participante.allInstances().clear();
		  Treinador.allInstances.clear();
	}

	@Test
	public final void testClube() {
		Clube c = new Clube();
		assertNotNull(c);
	}

	@Test
	public final void testClubeStringPais() {
		Pais p = new Pais();
		String s = "Benfica";
		Clube c = new Clube(s, p);
		assertNotNull(c);
	}

	@Test
	public final void testNome() {
		String n = "Benfica";
		Clube c = new Clube();
		c.setNome(n);
		assertNotNull(c.nome().equals("Benfica"));
	}

	@Test
	public final void testSetNome() {
		String n = "Benfica";
		Clube c = new Clube();
		c.setNome(n);
		assertNotNull(c.nome());
	}

	@Test
	public final void testPais() {
		Clube c =new Clube();
		Pais p = new Pais();
		c.setPais(p);
		assertTrue(c.pais().equals(p));
	}

	@Test
	public final void testSetPais() {
		Clube c =new Clube();
		Pais p = new Pais();
		c.setPais(p);
		assertNotNull(c.pais());
	}

	@Test
	public final void testJogadores() {
		Jogador j1 = new Jogador();
		Jogador j2 = new Jogador();
		Jogador j3 = new Jogador();
		Clube c = new Clube();
		j1.setClube(c);
		j2.setClube(c);
		j3.equipa();
		assertTrue(c.jogadores().size() == 2);
		
	}

	@Test
	public final void testSetJogadores() {
		HashSet<Jogador> j = new HashSet<Jogador>();
		Jogador j1 = new Jogador();
		Jogador j2 = new Jogador();
		Jogador j3 = new Jogador();
		Clube c = new Clube();
		j.add(j1);
		j.add(j2);
		j3.equipa();
		c.setJogadores(j);
		assertTrue(c.jogadores().size() == 2);
		 
	}


	@Test
	public final void testToString() {
		Clube c = new Clube();
		assertTrue(c.toString().equals("Clube [nome=null, pais=null]\n"));
	}

}
